<!DOCTYPE html>
<html lang="zh_CN" xmlns:th="http://www.thymeleaf.org"
      xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<meta charset="utf-8">
<head th:include="include :: header"></head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.10.0/css/bootstrap-select.min.css">
<body class="gray-bg">
<div class="container-div ui-layout-center">
    <div class="row">
        <div class="col-sm-12 search-collapse">
            <form id="user-form">
                <input type="hidden" id="deptId" name="deptId">
                <input type="hidden" id="parentId" name="parentId">
                <div class="select-list">
                    <ul>
                        <li>
                            电桩编号：<input type="text" id="stakeCode" name="stakeCode" placeholder="桩位编号"/>
                        </li>
                        <li>
                            电枪编号：<select name="gunCode" id="gunCode" th:with="type=${@dict.getType('gun_code')}">
                            <option value="">所有</option>
                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
                        </select>
                        </li>
                        <li>
                            电站名称：<select id="stationName" name="stationName">
                                <option value="">所有</option>
                                <option th:each="station,stationStat:${station}" th:value="${station.name}" th:text="${station.name}"></option>
                            </select>
                        </li>
                        <li>
                            充电模式：<select name="chargeMs" id="chargeMs" th:with="type=${@dict.getType('charge_ms')}">
                            <option value="">所有</option>
                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
                        </select>
                        </li>
                        <li>
                            充电状态：<select name="chargeState" id="chargeState" th:with="type=${@dict.getType('gun_status')}">
                            <option value="">所有</option>
                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
                            </select>
                        </li>
                        <li>
                            <a class="btn btn-primary btn-rounded btn-sm" onclick="reLoad()"><i class="fa fa-search"></i>&nbsp;搜索</a>
                            <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
                            <a class="btn btn-warning btn-rounded btn-sm" onclick="exportE()" shiro:hasPermission="business:monitorCenter:export"><i class="fa fa-download"></i>&nbsp;导出</a>
                        </li>
                    </ul>
                </div>
            </form>
        </div>

        <!--  <div class="btn-group-sm hidden-xs" id="toolbar" role="group">
             <a class="btn btn-success" onclick="add()" shiro:hasPermission="business:cdzStake:add">
                 <i class="fa fa-plus"></i> 新增
             </a>
         </div> -->

        <div class="col-sm-12 select-table table-striped">
            <table id="exampleTable" style="table-layout: fixed;" data-mobile-responsive="true"></table>
        </div>
    </div>
</div>
<div>
    <script type="text/javascript">
        var s_edit_h = 'hidden';
        var s_remove_h = 'hidden';
    </script>
</div>
<div shiro:hasPermission="business:cdzStake:edit">
    <script type="text/javascript">
        s_edit_h = '';
    </script>
</div>
<div shiro:hasPermission="business:cdzStake:remove">
    <script type="text/javascript">
        var s_remove_h = '';
    </script>
</div>
<div th:include="include :: footer"></div>
<script th:inline="javascript">


    var gun_code = [[${@dict.getType('gun_code')}]];
    var gun_status = [[${@dict.getType('gun_status')}]];
    var station_category = [[${@dict.getType('station_category')}]];
    var charge_ms = [[${@dict.getType('charge_ms')}]];
    var end_type = [[${@dict.getType('end_type')}]];

    var prefix =  ctx+"monitorCenter";
    $(function () {
        load();
    });

    function load() {
        console.log("数据加载");
        $('#exampleTable')
            .bootstrapTable(
                {
                    method: 'get', // 服务器数据的请求方式 get or post
                    url: prefix + "/order", // 服务器数据的加载地址
                    showRefresh: true, // 是否显示刷新按钮
                    showToggle: true,   // 是否显示详细视图和列表视图的切换按钮
                    showColumns: true, // 是否显示隐藏某列下拉框
                    iconSize: 'outline',
                    toolbar: '#exampleToolbar',
                    striped: false, // 设置为true会有隔行变色效果
                    dataType: "json", // 服务器返回的数据类型
                    pagination: true, // 设置为true会在底部显示分页条
                    sortable: true,                     //是否启用排序
                    sortName: "stick,createTime",         //  排序字段
                    sortOrder: "desc",                   //排序方式
                    queryParamsType: "limit",
                    // //设置为limit则会发送符合RESTFull格式的参数
                    singleSelect: false, // 设置为true将禁止多选
                    // contentType : "application/x-www-form-urlencoded",
                    // //发送到服务器的数据编码类型
                    pageSize: 10, // 如果设置了分页，每页数据条数
                    pageNumber: 1, // 如果设置了分布，首页页码
                    // search : true, // 是否显示搜索框
                    sidePagination: "server", // 设置在哪里进行分页，可选值为"client" 或者
                    queryParams: function (params) {
                        return {
                            // 说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
                            limit: params.limit,
                            offset: params.offset,
                            pageSize:params.limit,
                            pageNum:params.offset / params.limit + 1,
                            chargeMs: $('#chargeMs').val(),
                            chargeState: $('#chargeState').val(),
                            stationName: $('#stationName').val(),
                            stakeCode: $('#stakeCode').val(),
                            gunCode: $('#gunCode').val(),
                            random: new Date()
                        };
                    },
                    // //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
                    // queryParamsType = 'limit' ,返回参数必须包含
                    // limit, offset, search, sort, order 否则, 需要包含:
                    // pageSize, pageNumber, searchText, sortName,
                    // sortOrder.
                    // 返回false将会终止请求
                    showExport: true,
                    //exportTypes: ['csv','txt','xml'],
                    exportDataType: 'all',
                    columns: [
                        {
                            field: 'stakeCode', // 列字段名
                            title: '桩号' ,// 列标题
                            width: 80,
                            align: 'center',
                        },
                        {
                            field: 'gunCode', // 列字段名
                            title: '枪号' ,// 列标题
                            width: 80,
                            align: 'center',
                            formatter: function(value, row, index) {
                                return $.table.selectDictLabel(gun_code, value);
                            }
                        },
                        {
                            field: 'stationCode', // 列字段名
                            title: '站号', // 列标题
                            width: 80,
                            align: 'center',

                        },
                        {
                            field: 'stationName', // 列字段名
                            title: '充电站名称',// 列标题
                            width: 200,
                            align: 'center',
                        },
                        {
                            field: 'chargeState', // 列字段名
                            title: '充电枪状态' ,// 列标题
                            width: 120,
                            align: 'center',
                            formatter: function(value, row, index) {
                                return $.table.selectDictLabel(gun_status, value);
                            }
                        },
                        {
                            field: 'chargeType', // 列字段名
                            title: '充电类型' ,// 列标题
                            width: 100,
                            align: 'center',
                            formatter: function(value, row, index) {
                                return $.table.selectDictLabel(station_category, value);
                            }
                        },
                        {
                            field: 'chargeMs', // 列字段名
                            title: '充电模式' ,// 列标题
                            width: 100,
                            align: 'center',
                            formatter: function(value, row, index) {
                                return $.table.selectDictLabel(charge_ms, value);
                            }
                        },
                        {
                            field: 'soc', // 列字段名
                            title: '电池电量' ,// 列标题
                            width: 100,
                            align: 'center',
                            formatter: function(value, row, index){
                                var temp;
                                if(value==null){
                                    temp = '<a href="javascript:void(0);">' + '0 '+ '</a>';
                                }else{
                                    temp = '<a href="javascript:void(0);" onclick=showCharge("'+row.orderId+'")>' + value+'%'+ '</a>';
                                }
                                return temp;
                            }
                        },
                        {
                            field: 'chargeDn', // 列字段名
                            title: '充电电量(度)', // 列标题
                            width: 150,
                            align: 'center',
                        },
                        {
                            field: 'chargeDy', // 列字段名
                            title: '充电电压' ,// 列标题
                            width: 80,
                            align: 'center',
                        },  {
                            field: 'chargeDl', // 列字段名
                            title: '充电电流', // 列标题
                            width: 80,
                            align: 'center',
                        },
                        {
                            field: 'startTime', // 列字段名
                            title: '状态开始时间', // 列标题
                            width: 180,
                            align: 'center',
                        },
                        // {
                        //     field: 'endTime', // 列字段名
                        //     title: '结束时间', // 列标题
                        //     width: '8%',
                        // },
                        {
                            field: 'chargeLong', // 列字段名
                            title: '已经充电时间' ,// 列标题
                            width: 120,
                            align: 'center',
                            formatter: function (value, row, index) {
                                if(value!=null){
                                    return formatSeconds(value)
                                }
                            }
                        },
                        {
                            field: 'syTime', // 列字段名
                            title: '剩余充电时间' ,// 列标题
                            width: 100,
                            align: 'center',
                            formatter: function (value, row, index) {
                                if(value!=null){
                                    return formatSeconds(value)
                                }
                            }
                        },
                        {
                            field: 'endType', // 列字段名
                            title: '结束方式' ,// 列标题
                            align: 'center',
                            width: 150,
                            formatter: function(value, row, index) {
                                return $.table.selectDictLabel(end_type, value);
                            }
                        },
                        {
                            field: 'userPhone', // 列字段名
                            title: '用户手机号', // 列标题
                            width: 100,
                            align: 'center',
                        }]
                        // {
                        //     title: '操作',
                        //     field: 'id',
                        //     align: 'center',
                        //     formatter: function (value, row, index) {
                        //         var a = '<a  class="btn btn-primary btn-sm ' + s_edit_h + '" href="javascript: void(0)" mce_href="#" title="编辑" onclick="edit(\''
                        //             + row.id
                        //             + '\')"><i class="fa fa-edit "></i></a> ';
                        //         var b = '<a class="btn btn-warning btn-sm ' + s_remove_h + '" href="javascript: void(0)" title="删除"  mce_href="#" onclick="remove(\''
                        //             + row.id
                        //             + '\')"><i class="fa fa-remove"></i></a> ';
                        //         return a+b;
                        //     }
                        // }]
                });
    }

    function reLoad() {
        $('#exampleTable').bootstrapTable('refresh');
    }

    //导出
    function exportE(formId) {
        var currentId = $.common.isEmpty(formId) ? $('form').attr('id') : formId;
        $.modal.loading("正在导出数据，请稍后...");
        $.post(prefix + "/export", $("#" + currentId).serializeArray(), function(result) {
            if (result.code == web_status.SUCCESS) {
                window.location.href = ctx + "common/download?fileName=" + result.msg + "&delete=" + true;
            } else {
                $.modal.alertError(result.msg);
            }
            $.modal.closeLoading();
        });
    }

    //转换日期格式(时间戳转换为datetime格式)
    function formatSeconds(value) {
        if(value!=null){
            var theTime = parseInt(value);// 秒
            var theTime1 = 0;// 分
            var theTime2 = 0;// 小时
            if(theTime > 60) {
                theTime1 = parseInt(theTime/60);
                theTime = parseInt(theTime%60);
                if(theTime1 > 60) {
                    theTime2 = parseInt(theTime1/60);
                    theTime1 = parseInt(theTime1%60);
                }
            }
            var result = ""+parseInt(theTime)+"秒";
            if(theTime1 > 0) {
                result = ""+parseInt(theTime1)+"分"+result;
            }
            if(theTime2 > 0) {
                result = ""+parseInt(theTime2)+"小时"+result;
            }
            return result;
        }else{
            return "0秒";
        }

    }

    //展示充电信息
    function showCharge(orderId){
        layer.open({
            type: 2,
            title: '充电信息',
            maxmin: true,
            shadeClose: false, // 点击遮罩关闭层
            area: ['800px', '500px'],
            content: prefix + '/toChargeList/' + orderId // iframe的url
        });
    }

    //新增
    function add() {
        // iframe层
        window.layerIndex = layer.open({
            type: 2,
            title: '添加交易订单信息',
            maxmin: true,
            shadeClose: false, // 点击遮罩关闭层
            area: ['800px', _winH + 'px'],
            content: prefix + '/add'
        });
    }

    //编辑
    function edit(id) {
        layer.open({
            type: 2,
            title: '修改交易订单信息',
            maxmin: true,
            shadeClose: false, // 点击遮罩关闭层
            area: ['800px', _winH + 'px'],
            content: prefix + '/edit/' + id // iframe的url
        });
    }

    //删除
    function remove(id) {
        layer.confirm('确定要删除选中的记录？', {
            btn: ['确定', '取消']
        }, function () {
            $.ajax({
                url: prefix + '/remove',
                type: "post",
                data: {
                    'id': id
                },
                success: function (r) {
                    if (r.code == 0) {
                        layer.msg(r.msg);
                        reLoad();
                    } else {
                        layer.msg(r.msg);
                    }
                }
            });
        })
    }
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.10.0/js/bootstrap-select.min.js"></script>
</body>
</html>